package com.quanyan.user.mapper;

import com.quanyan.user.model.vo.request.ReqQuestion;
import com.quanyan.user.model.vo.response.RespQuestion;
import com.quanyan.user.model.vo.response.RespQuestionCategory;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * Created by huadongyang on 2016/11/4.
 */
public interface QuestionMapper {
    /**
     * 问题列表
     *
     * @param reqQuestion
     * @return
     */
    List<RespQuestion> queryQuestions(ReqQuestion reqQuestion);

    /**
     * @param reqQuestion
     * @return
     */
    Integer questionCount(ReqQuestion reqQuestion);

    /**
     * 获取问题
     *
     * @param id
     * @return
     */
    RespQuestion queryQuestion(Integer id);

    /**
     * 获取问题分类列表
     *
     * @return
     */
    List<RespQuestionCategory> queryQuestionCategories();

    /**
     * 增加问题解决和未解决数目
     *
     * @param id    问题id
     * @param solve 0：未解决 1：已解决
     * @return
     */
    int addSolveQuestionNum(@Param("id") Integer id, @Param("solve") Byte solve);

    /**
     * 减少问题解决和未解决数目
     * @param id  @param id    问题id
     * @param solve 0：未解决 1：已解决
     * @return
     */
    int subtractSolveQuestionNum(@Param("id") Integer id, @Param("solve") Byte solve);

    /**
     * 统计问题的pv、uv
     *
     * @param id 问题id
     * @param type 1: 只统计pv  2:统计pv和uv
     * @return
     */
    int statsQuestionPVandUV(@Param("id") Integer id, @Param("type") Byte type);

}
